home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / virus / 4pwd100.arj / 4PWD.BTM (.txt) next >
4DOS Compressed Batch-To-Memory File  |  1994-03-07  |  3KB  |  159 lines

  1. @ECHO OFF
  2. *BREAK OFF
  3.  
  4. IF "%1"=="" GOTO 4pwd_info
  5. IF "%1"=="?" GOTO 4pwd_info
  6. IF "%1"=="/?" GOTO 4pwd_info
  7. IF "%1"=="-?" GOTO 4pwd_info
  8. IF "%@UPPER[%1]"=="/H" GOTO 4pwd_info
  9. IF "%@UPPER[%1]"=="HELP" GOTO 4pwd_info
  10. IF "%@UPPER[%1]"=="/HELP" GOTO 4pwd_info
  11.  
  12. IF "%2"=="" GOTO no_pwd
  13. IF %@LEN[%2] GT 8 GOTO pwd_9
  14.  
  15. GOTO cli_pwd
  16.  
  17. :no_file
  18. ECHO Filename or Directory does not exist.
  19. UNSET /Q pwd
  20. QUIT 1
  21.  
  22. :pwd_9
  23. ECHO Password greater than 8 characters.
  24. UNSET /Q pwd
  25. QUIT 3
  26.  
  27. :no_pwd
  28. INPUT /C /L8 /P Password: %%pwd
  29. GOTO 4pwd
  30.  
  31. :cli_pwd
  32. SET pwd=%2
  33.  
  34. :4pwd
  35. IF "%@UPPER[%3]"=="/P" GOTO zip_test
  36. IF %@ATTRIB[%1,d]==0 GOTO file_test
  37. IF %@ATTRIB[%1,d]==1 GOTO dir_test
  38. GOTO end
  39.  
  40. :file_test
  41. IF %@ATTRIB[%1,h]==0 GOTO file_none
  42. IF %@ATTRIB[%1,h]==1 GOTO file_hid
  43. GOTO end
  44.  
  45. :file_none
  46. SET file_old=%@DESCRIPT[%1]
  47. DESCRIBE %1 "%@SUBSTR[%@UPPER[%pwd]%@REPEAT[%@CHAR[32],8],0,8]%file_old"
  48. UNSET /Q file_old
  49. ATTRIB /Q +H %1
  50. ECHO File Hidden Successfully.
  51. GOTO end
  52.  
  53. :file_hid
  54. IF %@UPPER[%@TRIM[%@SUBSTR[%@DESCRIPT[%1],0,8]]]==%@UPPER[%pwd] GOTO file_hid1
  55. GOTO bad_pwd
  56.  
  57. :file_hid1
  58. ATTRIB /Q -H %1
  59. DESCRIBE %1 "%@SUBSTR[%@TRIM[%@DESCRIPT[%1]],8,%@LEN[%@DESCRIPT[%1]]-8]"
  60. ECHO File Un-Hidden Successfully.
  61. GOTO end
  62.  
  63. :dir_test
  64. IF %@ATTRIB[%1,hd]==0 GOTO dir_none
  65. IF %@ATTRIB[%1,hd]==1 GOTO dir_hid
  66. GOTO end
  67.  
  68. :dir_none
  69. SET dir_old=%@DESCRIPT[%1]
  70. DESCRIBE %1 "%@SUBSTR[%@UPPER[%pwd]%@REPEAT[%@CHAR[32],8],0,8]%dir_old"
  71. UNSET /Q dir_old
  72. ATTRIB /Q /D +H %1
  73. ECHO Directory Hidden Successfully.
  74. GOTO end
  75.  
  76. :dir_hid
  77. IF %@UPPER[%@TRIM[%@SUBSTR[%@DESCRIPT[%1],0,8]]]==%@UPPER[%pwd] GOTO dir_hid1
  78. GOTO bad_pwd
  79.  
  80. :dir_hid1
  81. ATTRIB /Q /D -H %1
  82. DESCRIBE %1 "%@SUBSTR[%@TRIM[%@DESCRIPT[%1]],8,%@LEN[%@DESCRIPT[%1]]-8]"
  83. ECHO Directory Un-Hidden Successfully.
  84. GOTO end
  85.  
  86. :zip_test
  87. IF %@ATTRIB[%1,d]==1 GOTO not_file
  88.  
  89. IF "%@SEARCH[IC.EXE]"=="" GOTO no_ic
  90. IC /BAT %1
  91. IF ERRORLEVEL==1 GOTO 4pwd_d
  92. IF ERRORLEVEL==0 GOTO 4pwd_e
  93.  
  94. :4pwd_d
  95. IF "%@SEARCH[PKUNZIP.EXE]"=="" GOTO no_pkunzip
  96. PKUNZIP -o -s%2 %1 >NUL:
  97. IF ERRORLEVEL == 11 GOTO bad_pwd
  98. ECHO File Decrypted.
  99. GOTO end
  100.  
  101. :4pwd_e
  102. IF "%@SEARCH[PKZIP.EXE]"=="" GOTO no_pkzip
  103. PKZIP 4ENCRYPT -a -s%2 %1 >NUL:
  104. DESCRIBE 4ENCRYPT.ZIP "%@DESCRIPT[%1]"
  105. MOVE /Q 4ENCRYPT.ZIP %1
  106. ECHO File Encrypted.
  107. GOTO end
  108.  
  109. :bad_pwd
  110. ECHO Incorrect Password.
  111. UNSET /Q pwd
  112. QUIT 2
  113.  
  114. :not_file
  115. ECHO Filename does not exist.
  116. UNSET /Q pwd
  117. QUIT 4
  118.  
  119. :no_ic
  120. ECHO IC.EXE not found.
  121. UNSET /Q pwd
  122. QUIT 5
  123.  
  124. :no_pkzip
  125. ECHO PKZIP.EXE not found.
  126. UNSET /Q pwd
  127. QUIT 6
  128.  
  129. :no_pkunzip
  130. ECHO PKUNZIP.EXE not found.
  131. UNSET /Q pwd
  132. QUIT 7
  133.  
  134. :4pwd_info
  135. TEXT
  136. ┌─┬───────────────────────────────────────┬─┬─┐
  137. │-│            4PASSWORD v1.00            │││
  138. ├─┴───────────────────────────────────────┴─┴─┤
  139. │  A (feeble?) attempt to add Novell DOS's    │
  140. │  PASSWORD feature to MS-DOS by using 4DOS.  │
  141. │                                             │
  142. │  [usage]                                    │
  143. │    4PWD <filename/directory> {password}     │
  144. │    {/P (PKZIP File Encryption)}             │
  145. │                                             │
  146. │  For more information :                     │
  147. │    Jason D. Meisels, CNE, CSNA              │
  148. │    2112 Lincoln Drive East                  │
  149. │    Ambler, Pennsylvania  19002-3852         │
  150. │    CompuServe ID : 72704,3233               │
  151. │                                             │
  152. │  Copyright (C) 1994. All Rights Reserved.   │
  153. └─────────────────────────────────────────────┘
  154. ENDTEXT
  155. GOTO end
  156.  
  157. :end
  158. UNSET /Q pwd
  159. QUIT 0